home *** CD-ROM | disk | FTP | other *** search
-
- CHAPTER 7 - Strings and string procedures
-
-
- PASCAL STRINGS
-
- According to the Pascal definition, a string is simply
- an array of 2 of more characters of type char, and is
- contained in an array defined in a var declaration as a
- fixed length. Look at the example program STRARRAY. Notice
- that the strings are defined in the type declaration even
- though they could have been defined in the var part of the
- declaration. This is to begin getting you used to seeing
- the type declaration. The strings defined here are nothing
- more than arrays with char type variables.
-
- A STRING IS A ARRAY OF CHAR
-
- The interesting part of this file is the executable
- program. Notice that when the variable First_Name is
- assigned a value, the value assigned to it must contain
- exactly 10 characters or the compiler will generate an
- error. Try editing out a blank and you will get an invalid
- type error. Pascal is neat in allowing you to write out the
- values in the string array without specifically writing each
- character in a loop as can be seen in the Writeln statement.
- To combine the data, called concatenation, requires the use
- of the rather extensive looping and subscripting seen in the
- last part of the program. It would be even messier if we
- were to consider variable length fields which is nearly
- always the case in a real program.
-
- Two things should be observed in this program. First,
- notice the fact that the string operations are truly array
- operations and will follow all of the characteristics
- discussed in the last chapter. Secondly, it is very obvious
- that Pascal is rather weak when it comes to its handling of
- text type data. Pascal will handle text data, even though
- it may be difficult. This concerns the standard description
- of Pascal, we will see next that TURBO Pascal really shines
- here.
-
- Compile and run STRARRAY and observe the output.
-
- THE TURBO PASCAL STRING TYPE
-
- Look at the example program STRINGS. You will see a
- much more concise program that actually does more. TURBO
- Pascal has, as an extension to standard Pascal, the string
- type of variable. It is used as shown, and the number in
- the square brackets in the var declaration is the maximum
- length of the string. In actual use in the program, the
- variable can be used as any length from zero characters up
- to the maximum given in the declaration. The variable
- First_Name, for example, actually has 11 locations of
-
-
- Page 43
-
-
-
-
-
-
-
-
-
- CHAPTER 7 - Strings and string procedures
-
-
- storage for its data. The current length is stored in
- First_Name[0] and the data is stored in First_Name[1]
- through First_Name[10]. All data are stored as byte
- variables, including the size, so the length is therefore
- limited to a maximum of 255 characters.
-
- STRINGS HAVE VARIABLE LENGTHS
-
- Now look at the program itself. Even though the
- variable First_Name is defined as 10 characters long, it is
- perfectly legal to assign it a 4 character constant, with
- First_Name[0] automatically set to four by the system and
- the last six characters undefined and unneeded. When the
- program is run the three variables are printed out all
- squeezed together indicating that the variables are indeed
- shorter than their full size as defined in the var
- declaration.
-
- Using the string type is even easier when you desire to
- combine several fields into one as can be seen in the
- assignment to Full_Name. Notice that there are even two
- blanks, in the form of constant fields, inserted between the
- component parts of the full name. When it is written out,
- the full name is formatted neatly and is easy to read.
-
- Compile and run STRINGS and observe the output.
-
- WHAT IS IN A STRING TYPE VARIABLE?
-
- The next example program named WHATSTRG, is intended to
- show you exactly what is in a string variable. This program
- is identical to the last program except for some added
- statements at the end. Notice the assignment to Total. The
- function Length is available in TURBO Pascal to return the
- current length of any string type variable. It returns a
- byte type variable with the value contained in the [0]
- position of the variable. We print out the number of
- characters in the string at this point, and then print out
- each character on a line by itself to illustrate that the
- TURBO Pascal string type variable is simply an array
- variable.
-
- The TURBO Pascal reference manual has a full
- description of several more procedures and functions
- available in TURBO Pascal only. Refer to your TURBO Pascal
- version 3.0 reference manual in chapter 9, beginning on page
- 67, or if you are using TURBO Pascal version 4.0, you will
- find the string functions throughout chapter 27. The use of
- these should be clear after you grasp the material covered
- here.
-
-
-
- Page 44
-
-
-
-
-
-
-
-
-
- CHAPTER 7 - Strings and string procedures
-
-
- PROGRAMMING EXERCISES
-
- 1. Write a program in which you store your first, middle,
- and last names as variables, then display them one to a
- line. Concatenate the names with blanks between them and
- display your full name as a single variable.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 45
-